#ifndef SEGMENTATION_API_H
#define SEGMENTATION_API_H

#include <iostream>
#include <memory>
#include <opencv2/opencv.hpp>

namespace segmentation
{
    class Segmentation_api
    {
    public:
        Segmentation_api(const int gpu_id, const std::string &onnx_path, const std::string &trt_dir, const int max_batch = 1);

        ~Segmentation_api();

    public:
        cv::Mat Execute(const cv::Mat &img);

    private:
        Segmentation_api();
        class Impl;
        std::unique_ptr<Impl> impl_;
    };

} //namespace segmentation

#endif